package com.sgj.service;

import com.sgj.pojo.Type;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * @author 沈国纪
 * @date 2021/3/30 17:11
 */
public interface TypeService {

	/**
	 * 新增分类
	 * @param type
	 * @return
	 */
	Type saveType(Type type);

	/**
	 * 根据名称查找分类
	 * @param name
	 * @return
	 */
	Type findTypeByName(String name);

	/**
	 * 根据 id 查询分类
	 * @param id
	 * @return
	 */
	Type findTypeById(Long id);

	/**
	 * 分页查询
	 * @param pageable
	 * @return
	 */
	Page<Type> listType(Pageable pageable);

	/**
	 * 查询返回列表
	 * @return
	 */
	List<Type> listType();

	/**
	 * 主页分类查询
	 * @param size
	 * @return
	 */
	List<Type> listTypeTop(Integer size);

	/**
	 * 修改分类
	 * @param type
	 * @return
	 */
	Type updateType(Type type);

	/**
	 * 根据 id 删除分类
	 * @param id
	 * @return
	 */
	void deleteType(Long id);
}
